=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:37 +0000 (00:03 -0300)]
Enhanced completion subject finding logic for `python-shell-completion--do-completion-at-point'
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
Make `python-shell-completion--do-completion-at-point' to return a list for `completion-at-point' do it's job instead of replicating completion logic.
Removed vars:
+ python-shell-completion-original-window-configuration
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
Make `python-shell-completion--do-completion-at-point' work for calls done via `python-completion-complete-at-point'.
The comint prompt retrieval logic was failing on
`python-shell-completion--do-completion-at-point' when calls to it
happened from outside the process buffer.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
python-end-of-defun-function now works correctly when comments are not indented properly.
Calling `end-of-defun' on a python file will now do the correct thing,
even for cases like this:
def fib(n):
if n < 2:
# base cases
return n
else:
return fib(n - 2) + fib(n - 1)
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:36 +0000 (00:03 -0300)]
Enhancements on indentation for lines after a backslash continuation.
Backslashed continuations with parens in the middle are now handled
correctly. Things like this are now indented properly:
objects = Thing.objects.all() \
.filter(
type="toy",
status="bought"
subtype="car"
) \
.aggregate(
Sum('amount')
) \
.values_list()
New Functions:
* `python-info-beginning-of-backlash' returns the point where a
backslashed line start.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Added self to the list of font-lock-keywords
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Updated `python-font-lock-keywords' to match latest Python 2.7 and 3.2 documentation.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:35 +0000 (00:03 -0300)]
Beautified code
* All columns are now less that 79 chars.
* Removed tabs that were beign used to indent code.
* Reindented the whole file.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
Enhancements on indentation code and related functions.
This commit includes:
* A more robust implementation of `python-indent-calculate-indentation'.
* enhancements on `python-indent-context' when dealing with backslashes
and blocks.
* Many changes, comments and enhancements to
`python-indent-calculate-indentation'. Many of them especially focused
to match pep8 guidelines, being this one the most important new one:
http://mail.python.org/pipermail/python-dev/2011-June/111760.html
* Better `python-info-line-ends-backslash-p' that would work as intended
on narrowed buffers.
* `python-info-continuation-line-p' now does what's supposed to do.
* Enhanced implementation of `python-info-continuation-line-p',
`python-info-block-continuation-line-p' and
`python-info-assignment-continuation-line-p'
New Functions:
* `python-util-forward-comment' a simple replacement `forward-comment'
with some necessary enhancements.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
`python-check' now can have named buffers on its own depending the command launched.
New vars:
+ python-check-buffer-name
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:34 +0000 (00:03 -0300)]
Enhancements on python-check command.
Use pyflakes (PyChecker is dead) and run the process respecting
virtualenv rules.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:33 +0000 (00:03 -0300)]
Removed :safe attribute for dangerous variables
Changed vars:
+ python-shell-interpreter
+ python-shell-interpreter-args
+ python-shell-completion-setup-code
+ python-shell-completion-string-code
+ python-shell-completion-module-string-code
+ python-shell-completion-pdb-string-code
+ python-ffap-setup-code
+ python-ffap-string-code
+ python-check-command
+ python-eldoc-setup-code
+ python-eldoc-string-code
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:33 +0000 (00:03 -0300)]
Fixed docstring typos
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
Enhanced shell setup for Windows.
Also added documentation explaining how to spawn the iPython process
on Windows.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
Added compatibility with lastest CEDET.
Obsolete variables definitions:
+ python-buffer => python-shell-internal-buffer
Obsolete functions definitions:
+ python-proc => python-shell-internal-get-or-create-process
+ python-send-string => python-shell-internal-send-string
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:32 +0000 (00:03 -0300)]
Improvements on completion code.
Do no complete when defining a code block (we can't do this until
finding some way of getting raw tabs to the interpreter correctly)
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
Improved completion support when in [i]pdb
`python-shell-completion--do-completion-at-point' has been modified in
order to support different completion contexts easily.
New vars:
+ python-shell-completion-pdb-string-code
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
Added `python-pdbtrack-activate' variable to allow users to activate/deactivate pdbtrack.
To keep in sync with the old behavior its default value is t.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:31 +0000 (00:03 -0300)]
Renamed stuff to keep "namespace" clean.
Renamed vars:
+ python-shell-module-completion-string-code => python-shell-completion-module-string-code
+ python-completion-original-window-configuration => python-shell-completion-original-window-configuration
Dan Davison [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
Don't request completions for zero-length input
Fixes a bug in which incorrect completion output was displayed, for
example when point was after a closing paren.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
Make `python-shell-send-string-no-output' delete trailing newlines from output.
Dan Davison [Thu, 17 May 2012 03:03:30 +0000 (00:03 -0300)]
Dismiss completions buffer when unique completion has been made
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
Documentation enhancements
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
Renamed indentity occurrences to identity in previous commmit
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:29 +0000 (00:03 -0300)]
Enhancements to internal python shell naming.
The internal python shell now takes into account more shell settings
in order to generate the unique hash for its name.
Also `python-shell-setup-codes' has been simplified and is not allowed
to be a list of cons anymore.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
Enhancements to pdbtrack.
pdbtrack now handles correctly the case where the stacktrace
information is on the second line.
All python buffers not opened by the user and used for tracking are
closed automatically when tracking process finishes.
Simplified code for keeping the tracked buffer.
Removed vars:
+ python-pdbtrack-tracking-buffers
Removed functions:
+ python-pdbtrack-get-or-add-tracking-buffers
New vars:
+ python-pdbtrack-tracked-buffer
+ python-pdbtrack-buffers-to-kill
New functions:
+ python-pdbtrack-set-tracked-buffer
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
Enhancements to pdbtrack
pdbtracking now autodetects the filename being tracked from the prompt
and not from the `inferior-python-mode-current-file' variable.
Removed vars:
+ `inferior-python-mode-current-file'
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:28 +0000 (00:03 -0300)]
Documentation enhancements and other small fixes.
Removed vars:
+ python-shell-import-line-regexp
Dan Davison [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
Complete module import lines in addition to variable names
Available when using ipython v0.11. Completions on lines starting with
"from " or "import " are supplied by
IPython.core.completerlib.module_completion
ipython v0.11 configuration:
(setq python-shell-interpreter "ipython"
python-shell-completion-setup-code
"from IPython.core.completerlib import module_completion\n"
python-shell-module-completion-string-code
"';'.join(module_completion('''%s'''))\n"
python-shell-completion-string-code
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
Dan Davison [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
Return appropriate value to comint-dynamic-complete
This avoids a "No completions for ..." message being issued when a
completion has been made. Also, reduces redundancy between the
inferior-python-mode and python-mode completion code.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:27 +0000 (00:03 -0300)]
Enhancements to `python-shell-calculate-process-environment'
The `python-shell-extra-pythonpaths' variable have been introduced as
simple way of adding paths to the PYTHONPATH without affecting
existing values.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:26 +0000 (00:03 -0300)]
Enhancements on `python-shell-calculate-process-environment' and `python-shell-calculate-exec-path'
Removed functions:
+ python-util-merge
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Added simple way of jumping to current buffer's class/function definitions
The new `python-nav-jump-to-defun' function allows a user to jump fast
and easy to a function or class definition in the current buffer. For
this a entry in the menu and the C-c C-j keybinding have been
introduced.
New functions:
+ `python-nav-list-defun-positions'
+ `python-nav-read-defun'
+ `python-nav-jump-to-defun'
The new function `python-nav-list-defun-positions' does the same as a
relevant part of the `python-imenu-create-index' so the latter has
been refactored to use it.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Enhancements to python-shell-send-string-no-output to work OK with iPython 0.11
Also the documentation has been updated with info to make iPython 0.11
and 0.10 work with python.el's shell integration.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Make run-python-internal to set process-query-on-exit-flag to nil
Also python-shell-make-comint now returns the process buffer name.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:25 +0000 (00:03 -0300)]
Fixed indentation case for after beginning of block
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
Renamed python-clone-local-variables to python-util-clone-local-variables
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
New function python-clone-local-variables
Copied from org.el: it allows the `python-shell-make-comint' to be
simplified. It copies all local variables from a buffer to the
current.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:24 +0000 (00:03 -0300)]
Fix typo enviroment => environment
Removed function:
* python-shell-calculate-process-enviroment
New function:
* python-shell-calculate-process-environment
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:23 +0000 (00:03 -0300)]
Make shells inherit variables from parent buffer and internal shells not show by default.
python-shell-make-comint now passes all parent buffer variables to the
comint buffer created ensuring local variables work as intended. Also,
this function now receives a third optional argument called POP that
establishes if the created comint buffer should be displayed or not
after its creation.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:23 +0000 (00:03 -0300)]
Use defcustom with :safe whenever is possible.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
Refactored run-python and run-python-internal.
Created new function python-shell-make-comint that takes care of
creating comint processes.
New Function:
* python-shell-make-comint
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
Fixed cornercase for normal lines when indentation was triggered in the middle of them
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:22 +0000 (00:03 -0300)]
Make python-info-continuation-line-p to check context type matches
In order for a line to be continuation of another, they must be on the
same context.
New Function:
* python-info-ppss-context-type
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
Implemented simple virtualenv setup via python-shell-virtualenv-path variable.
when set to a string, makes the values stored in
`python-shell-process-environment' and `python-shell-exec-path' to be
modified properly so shells are started with the specified virtualenv.
New Variables:
* python-shell-virtualenv-path
New functions:
* python-shell-calculate-process-environment
* python-shell-calculate-exec-path
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
Implemented internal python shell.
This new kind of shell is intended to be used for generic
communication related to defined configurations. The main difference
with global or dedicated shells is that these ones are attached to a
configuration, not a buffer. This means that can be used for example
to retrieve the sys.path and other stuff, without messing with user
shells.
New Variables:
* python-shell-internal-buffer-name,
New functions:
* python-shell-internal-get-process-name
* run-python-internal
* python-shell-internal-get-or-create-process
* python-shell-internal-send-string (makes python-send-receive obsolete)
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:21 +0000 (00:03 -0300)]
Backported triple quote syntax from Emacs 24
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
Make package description separator contain 3 dashes (ELPA conformance)
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
Updated TODO
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:20 +0000 (00:03 -0300)]
fixed font-lock-builtin-face regexp
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
Set local variable `mode-require-final-newline' to t
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
None, True, False, Ellipsis, __debug__, and NotImplemented now use font-lock-constant-face
Also copyright, license, credits, quit, exit are removed from
font-lock since they are added by the site module and only useful for
shell interaction and not programs.
See: http://docs.python.org/release/3.1.3/library/constants.html#constants-added-by-the-site-module
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:19 +0000 (00:03 -0300)]
python-info-current-defun: fixed cornercase that caused imenu to break
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
Added package information for ELPA conformance
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
Fixed eldoc behavior.
* python-eldoc-setup-code: The code to get help now uses the
inspect element. When an object doesn't have documentation and
if it is callable it returns the signature for it. Also when
an object does contain documentation it only returns the first
line.
* python-eldoc-at-point: has been simplified to just message the
doc header of objects.
* python-info-current-defun: was not taking into account the
current indentation so point was always inside a defun, even
if the indentation was less or equal than the defun above.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:18 +0000 (00:03 -0300)]
Indentation enhancements on after-backslash
Multiline sentences beginning with "import", "from" or "return" are
indented correctly now.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:17 +0000 (00:03 -0300)]
fixed last paren indentation logic
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:17 +0000 (00:03 -0300)]
Fixed weird cornercase behavior in python-indent-calculate-indentation.
Doing (setq python-indent-levels '(0)) was causing the value of
python-indent-levels to not be initialized correctly on next calls to
python-indent-calculate-indentation. Using (setq python-indent-levels
(list 0)) instead does the trick but I'm not sure why.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
increased forward-comment COUNT variable value in all calls
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
docstring enhancements
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:16 +0000 (00:03 -0300)]
indentation fixes on after backslash
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:15 +0000 (00:03 -0300)]
Implemented python-nav-backward-sentence, python-nav-forward-sentence
Also small fixes to python-nav-sentence-start and
python-nav-sentence-end were added.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:15 +0000 (00:03 -0300)]
Added python-nav-sentence-start and python-nav-sentence-end functions
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
fixed CL related bytecompilation errors and set make-tree for imenu default
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
Implemented imenu support.
New variables:
+ python-imenu-include-defun-type
+ python-imenu-make-tree
+ python-imenu-subtree-root-label
+ python-imenu-index-alist
New Functions:
+ python-imenu-tree-assoc
+ python-imenu-make-element-tree
+ python-imenu-make-tree
+ python-imenu-create-index
API changes:
+ python-info-current-defun now supports an optional argument called
INCLUDE-TYPE.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:14 +0000 (00:03 -0300)]
Documentation enhancements with regards to code checking. (thanks schickm)
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
Fixed python-info-current-defun for classes without bases
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
Fixed infinite loop on python-info-current-defun
For this python-beginning-of-defun-function has been modified to
return t or nil if a defun was found.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:13 +0000 (00:03 -0300)]
Docstrings enhancements
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
Small cornercase fix to python-info-current-defun.
Returned the bad defun name when point was at the beginning of defun.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
Fixed python-info-current-defun to match new navigation code.
python-nav-beginning-of-defun and python-beginning-of-defun-function
now support a new extra optional argument called NODECORATORS.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:12 +0000 (00:03 -0300)]
Replaced references from python-beginning-of-innermost-defun to python-beginning-of-defun-function
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
User customizable fill-paragraph behavior.
For this, four new variables which contain the symbol name of the
function that specifies the behavior of fill-paragraph on certain
conditions were added:
* python-fill-comment-function: For comments
* python-fill-string-function: For strings
* python-fill-decorator-function: For decorators
* python-fill-paren-function: For parens
All of these variables are safe local variables in the case the value
provided is a symbol. Out of the box, they default to these four new
functions respectively:
* python-fill-comment
* python-fill-string
* python-fill-decorator
* python-fill-paren
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
Corrected implementations for python-{beginning,end}-of-defun functions.
When point is at beginning-of-defun, end-of-defun moves to the end of
the defun, even if it contains nested defuns. When point is at any
inner defun end-of-defun moves to the end of it, if another inner
defun exists at the same level point is moved to it.
For beginning-of-defun things are funkier, it would move backwards
following nested defuns in order. This will be fixed soon.
Note: Decorators are considered part of defuns.
Removed:
* python-use-beginning-of-innermost-defun
* python-beginning-of-innermost-defun-regexp
Renamed:
* python-beginning-of-defun => python-nav-beginning-of-defun
* python-beginning-of-defun-regexp => python-nav-beginning-of-defun-regexp
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:11 +0000 (00:03 -0300)]
New variable python-use-beginning-of-innermost-defun
Controls if beginning-of-defun function should go to outermost or
innermost defun.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
Better indentation handling when inside parens.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
Fixed indentation issue when indenting a python-indent-dedenter from end of line
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:10 +0000 (00:03 -0300)]
new variables python-shell-process-environment and python-shell-exec-path
The main reason for these new variables is virtualenv support.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
New variable python-shell-send-setup-max-wait
Controls the timeout for output just before sending the setup code.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
Documentation enhancements
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:09 +0000 (00:03 -0300)]
Better shell setup using the new python-shell-send-setup-codes function.
At the moment of shell setup, all the pending output is accepted so
the prompt is always displayed correctly.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:08 +0000 (00:03 -0300)]
Added indentation support for continuation of dotted expressions
Expressions like these are now supported and indented correctly:
Object.objects.exclude(foo=1)\
.filter(bar=2)\
.values_list('baz')
Also added a small fix to python-info-assignment-continuation-line-p
to check the match for the operator is not inside some paren.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:08 +0000 (00:03 -0300)]
Enhancements to python-indent-electric-colon.
Only de-indent line if it really closes a block.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
New function python-info-ppss-context
Use this function for most syntax-ppss related tasks. While in some
parts code could be longer it makes everything more readable.
This is the first step for a cleaner indentation machinery.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
Added commentary about installing pyreadline on system that bundles Python without readline
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:07 +0000 (00:03 -0300)]
Remove find-file-noselect invocation in python-shell-send-file
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
Use insert instead of insert-string
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
Better non-standard shell integration support
Added python-shell-prompt-output-regexp to match the prompts
added before output in shells like iPython. With the value of
this variable the output generated for
python-shell-send-string-no-ouput is cleaned up.
Moved completion variables and bindings setup for shell to
inferior-python-mode definition.
Renamed python-shell-completion-strings-code to
python-shell-completion-string-code.
improved python-shell-completion--get-completions string
splitting.
Cleaned up some unecessary messages.
Better code sending need test for python-shell-completion-setup
python-ffap-setup and python-eldoc-setup.
Added example for iPython integration in the commentary section.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:06 +0000 (00:03 -0300)]
Shell integration improvements and cleanups
Removed functions python-shell-clear-latest-output and
python-shell-send-and-clear-output in favor of
python-shell-send-string-no-output.
Also python-shell-send-string now supports multiline string statements
so you won't have to worry calling python-shell-send-file again.
All this changes should make integrations with other Python shells
than standard more robust.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
python.el now bytecompiles without warnings
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
Implemented Skeletons after GNU/Emacs python.el
6 basic skeletons are defined: class, def, for, if, try and while.
While these skeletons are strongly based on GNU/Emacs' current
python.el a better definition macro, a generic template for
try/except/finally/else blocks and a cool menu display is included.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:05 +0000 (00:03 -0300)]
Explain we have python-indent-electric-colon
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Don't deactivate mark after indenting commands
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Small fix to python-indent-electric-colon
Check current indentation is greater than the current calculated
indentation.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:04 +0000 (00:03 -0300)]
Implemented python-indent-electric-colon
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:03 +0000 (00:03 -0300)]
Fixed indentation of multi-line function call's closing parenthesis
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:03 +0000 (00:03 -0300)]
Make inferior-python-mode-current-file be set via convert-standard-filename
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:03 +0000 (00:03 -0300)]
Enhanced python-shell-send-file function
python-shell-send-file function now can be called interactively and
will do the right thing.
Also the python code that sent the file was improved so the shell
considers the correct path when evaluating the file.
Removed the inferior-python-mode-current-temp-file variable, after
this update inferior-python-mode-current-file is enough.
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:02 +0000 (00:03 -0300)]
Added commentary about auto-indentation on newlines for python-mode.el users
=?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= [Thu, 17 May 2012 03:03:02 +0000 (00:03 -0300)]
Use convert-standard-filename to fix temp files path